"""
计算器面向对象
1. 设计一个计算器，计算器可以数 输入 *字，运算符*等信息。
2. 当点击 = 号的时候，则返回结果。
3. 计算器有分别支持 + - * / 四种运算方式。
"""

class Caculator:

    def __init__(self):
        self.result = None

    def input_data(self, input_data: str):
        """
        输入一个计算表达式， 1+2 2-3 2*3
        :param input_data:
        :return:
        """
        if "+" in input_data:
            # "112+223" -> [112, + ,223]
            a, b = input_data.split("+")
            self.result = self.add(int(a), int(b))
            return self.result
        elif "-" in input_data:
            # "112+223" -> [112, + ,223]
            a, b = input_data.split("-")
            self.result = self.sub(int(a), int(b))
            return self.result
        # elif
        else:
            return "不合法的输入"


    def add(self, a , b):
        """加法"""
        if type(a) != int or type(b) != int:
            return "不合法的输入"
        return a+b

    def sub(self, a, b):
        """
        减法
        :return:
        """
        if type(a) != int or type(b) != int:
            return "不合法的输入"
        return a-b

    def get_result(self):
        return self.result
    def clear(self):
        self.result = None

